package com.taobao.api.domain;

import java.util.List;

import com.taobao.api.TaobaoObject;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;

/**
 * 退货单
 *
 * @author auto create
 * @since 1.0, null
 */
public class ReturnBill extends TaobaoObject {

	private static final long serialVersionUID = 4761844379698782581L;

	/**
	 * 单据类型
	 */
	@ApiField("bill_type")
	private String billType;

	/**
	 * 物流公司
	 */
	@ApiField("company_name")
	private String companyName;

	/**
	 * 退款创建时间
	 */
	@ApiField("created")
	private String created;

	/**
	 * 退款商品信息
	 */
	@ApiListField("item_list")
	@ApiField("refund_item")
	private List<RefundItem> itemList;

	/**
	 * 最后一次修改时间
	 */
	@ApiField("modified")
	private String modified;

	/**
	 * 交易子订单号
	 */
	@ApiField("oid")
	private Long oid;

	/**
	 * 退货单操作日志
	 */
	@ApiField("operation_log")
	private String operationLog;

	/**
	 * 申请退款原因
	 */
	@ApiField("reason")
	private String reason;

	/**
	 * 退款单编号
	 */
	@ApiField("refund_id")
	private Long refundId;

	/**
	 * onsale:售中
aftersale：售后
	 */
	@ApiField("refund_phase")
	private String refundPhase;

	/**
	 * 退款协议版本
	 */
	@ApiField("refund_version")
	private Long refundVersion;

	/**
	 * 物流运单号
	 */
	@ApiField("sid")
	private String sid;

	/**
	 * 退款单 状态
wait_buyer_return_goods：卖家同意退货
wait_seller_confirm_goods：卖家已发货等待卖家确认
confirm_success：卖家同意退款
confirm_failed: 卖家拒绝退款
	 */
	@ApiField("status")
	private String status;

	/**
	 * 退款单的相关标签信息
	 */
	@ApiListField("tag_list")
	@ApiField("tag")
	private List<Tag> tagList;

	/**
	 * 交易主订单号
	 */
	@ApiField("tid")
	private Long tid;

	public String getBillType() {
		return this.billType;
	}
	public void setBillType(String billType) {
		this.billType = billType;
	}

	public String getCompanyName() {
		return this.companyName;
	}
	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	public String getCreated() {
		return this.created;
	}
	public void setCreated(String created) {
		this.created = created;
	}

	public List<RefundItem> getItemList() {
		return this.itemList;
	}
	public void setItemList(List<RefundItem> itemList) {
		this.itemList = itemList;
	}

	public String getModified() {
		return this.modified;
	}
	public void setModified(String modified) {
		this.modified = modified;
	}

	public Long getOid() {
		return this.oid;
	}
	public void setOid(Long oid) {
		this.oid = oid;
	}

	public String getOperationLog() {
		return this.operationLog;
	}
	public void setOperationLog(String operationLog) {
		this.operationLog = operationLog;
	}

	public String getReason() {
		return this.reason;
	}
	public void setReason(String reason) {
		this.reason = reason;
	}

	public Long getRefundId() {
		return this.refundId;
	}
	public void setRefundId(Long refundId) {
		this.refundId = refundId;
	}

	public String getRefundPhase() {
		return this.refundPhase;
	}
	public void setRefundPhase(String refundPhase) {
		this.refundPhase = refundPhase;
	}

	public Long getRefundVersion() {
		return this.refundVersion;
	}
	public void setRefundVersion(Long refundVersion) {
		this.refundVersion = refundVersion;
	}

	public String getSid() {
		return this.sid;
	}
	public void setSid(String sid) {
		this.sid = sid;
	}

	public String getStatus() {
		return this.status;
	}
	public void setStatus(String status) {
		this.status = status;
	}

	public List<Tag> getTagList() {
		return this.tagList;
	}
	public void setTagList(List<Tag> tagList) {
		this.tagList = tagList;
	}

	public Long getTid() {
		return this.tid;
	}
	public void setTid(Long tid) {
		this.tid = tid;
	}

}
